Резервное копирование подсистем ALD Pro

Резервное копирование

Резервирование и восстановление с помощью скриптов не является рекомендацией в распределенных системах и может не обеспечить полной согласованности данных в работающей инфраструктуре 24/7, а является дополнением на случай форс-мажорной ситуации, когда восстановление данных и работу инфраструктуры невозможно возобновить с помощью реплик и снапшотов.

Резервное копирование (далее - бэкапирование).

  • Раздел состоит из перечня скриптов резервного копирования каждой подсистемы (сервера).

  • Требования к последовательности запуска скриптов отсутствуют.

  • Допустимо выборочное резервное копирование подсистем (серверов).

  • Резервные копии необходимо делать ежедневно для обеспечения максимальной согласованности данных подсистем после восстановления.

  • Резервные копии хранятся в директории /tmp/backup, но она может быть изменена по желанию администратора.

Резервное копирование контроллера домена

Для выполнения резервного копирования контроллера домена необходимо перейти на рабочую станцию, которая выполняет роль контроллера домена и выполнить скрипт:

# !/usr/bin/env bash
# Название директории для резервной копии формируется
# из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Ограничение прав доступа к каталогу с резервными копиями
chown root:root $BACKUP_PATH && chmod 700 $BACKUP_PATH
# Создание резервной копии FreeIPA
ipa-backup
# Архивирование РК FreeIPA
tar -zcvf $BACKUP_PATH/ipa.tar.gz /var/lib/ipa/backup
# Очистка промежуточного бэкапа FreeIPA
rm -rf /var/lib/ipa/backup/*
# Остановка затрагиваемых бэкапом сервисов
systemctl stop apache2 celery celerybeat rabbitmq-server postgresql aldpro-salt-minion
# Архивирование БД PostgreSQL
tar -zcvf $BACKUP_PATH/postgresql.tar.gz /var/lib/postgresql/
# Архивирование RabbitMQ
tar -zcvf $BACKUP_PATH/rabbitmq.tar.gz /var/lib/rabbitmq/mnesia/
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Архивирование директории samba
tar -zcvf $BACKUP_PATH/samba.tar.gz /var/lib/samba
# Запуск затрагиваемых бэкапом сервисов
systemctl start apache2 celery celerybeat rabbitmq-server postgresql aldpro-salt-minion

Реплики - это равноправные серверы, не требующие отдельных условий для резервного копирования. Для их копирования используются команды, аналогичные командам для резервного копирования контроллера домена.

Резервное копирование подсистемы «Журналирование»

Для выполнения резервного копирования подсистемы «Журналирование» необходимо перейти на рабочую станцию, которая выполняет функцию сервера журналирования событий и выполнить скрипт:

# !/usr/bin/env bash
# Название директории для резервной копии формируется
# из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Ограничение прав доступа к каталогу с резервными копиями
chown root:root $BACKUP_PATH && chmod 700 $BACKUP_PATH
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/

Резервное копирование подсистемы «Сервер Печати»

Для выполнения резервного копирования подсистемы «Сервер Печати» необходимо перейти на рабочую станцию, которая выполняет функцию сервера печати и выполнить скрипт:

# !/usr/bin/env bash
# Название директории для резервной копии формируется
# из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Ограничение прав доступа к каталогу с резервными копиями
chown root:root $BACKUP_PATH && chmod 700 $BACKUP_PATH
# Остановка затрагиваемых бэкапом сервисов
systemctl stop cups aldpro-salt-minion
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Запуск затрагиваемых бэкапом сервисов
systemctl start cups aldpro-salt-minion

Резервное копирование подсистемы «Динамическая настройка узла DHCP»

Для выполнения резервного копирования подсистемы «Динамическая настройка узла DHCP» необходимо перейти на рабочую станцию, которая выполняет функцию сервера DHCP и выполнить скрипт:

# !/usr/bin/env bash
# Название директории для резервной копии формируется
# из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Ограничение прав доступа к каталогу с резервными копиями
chown root:root $BACKUP_PATH && chmod 700 $BACKUP_PATH
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/

Резервное копирование подсистемы «Сервер Мониторинга»

Для выполнения резервного копирования подсистемы «Сервер Мониторинга» необходимо перейти на рабочую станцию, которая выполняет функцию сервера мониторинга и выполнить скрипт:

# !/usr/bin/env bash
# Название директории для резервной копии формируется
# из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Ограничение прав доступа к каталогу с резервными копиями
chown root:root $BACKUP_PATH && chmod 700 $BACKUP_PATH
# Остановка затрагиваемых бэкапом сервисов
systemctl stop apache2 zabbix-agent zabbix-server postgresql aldpro-salt-minion
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Архивирование zabbix
tar -zcvf $BACKUP_PATH/zabbix.tar.gz /usr/share/zabbix/
# Архивирование БД PostgreSQL
tar -zcvf $BACKUP_PATH/postgresql.tar.gz /var/lib/postgresql/
# Запуск затрагиваемых бэкапом сервисов
systemctl start apache2 zabbix-agent zabbix-server postgresql aldpro-salt-minion

Резервное копирование подсистемы «Установка ОС по сети TFTP + PXE»

Для выполнения резервного копирования подсистемы «Установка ОС по сети TFTP + PXE» необходимо перейти на рабочую станцию, которая выполняет функцию сервера установки ОС по сети и выполнить скрипт:

# !/usr/bin/env bash
# Название директории для резервной копии формируется
# из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Ограничение прав доступа к каталогу с резервными копиями
chown root:root $BACKUP_PATH && chmod 700 $BACKUP_PATH
# Остановка затрагиваемых бэкапом сервисов
systemctl stop apache2 postgresql aldpro-salt-minion
# Архивирование PostgreSQL
tar -zcvf $BACKUP_PATH/postgresql.tar.gz /var/lib/postgresql/
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# Архивирование директории tftp
tar -zcvf $BACKUP_PATH/tftp.tar.gz /var/www/tftp/
# Запуск затрагиваемых бэкапом сервисов
systemctl start apache2 postgresql aldpro-salt-minion

Резервное копирование подсистемы «Сетевой Репозиторий»

Для выполнения резервного копирования подсистемы «Сетевой Репозиторий» необходимо перейти на рабочую станцию, которая выполняет функцию сервера сетевых репозиториев ПО и выполнить скрипт:

# !/usr/bin/env bash
# Название директории для резервной копии формируется
# из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Ограничение прав доступа к каталогу с резервными копиями
chown root:root $BACKUP_PATH && chmod 700 $BACKUP_PATH
# Остановка затрагиваемых бэкапом сервисов
systemctl stop apache2 postgresql rabbitmq-server aldpro-salt-minion
# Архивирование БД PostgreSQL
tar -zcvf $BACKUP_PATH/postgresql.tar.gz /var/lib/postgresql/
# Архивирование данных брокера очередей RabbitMQ
tar -zcvf $BACKUP_PATH/rabbitmq.tar.gz /var/lib/rabbitmq/mnesia/
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# Архивирование директории repo/storage
tar -zcvf $BACKUP_PATH/storage.tar.gz /opt/rbta/aldpro/repo/storage/
# Архивирование домашнего каталога учетной записи repo
tar -zcvf $BACKUP_PATH/repo.tar.gz /var/lib/repo/
# Запуск бэкапируемых сервисов
systemctl start apache2 postgresql rabbitmq-server aldpro-salt-minion

Резервное копирование подсистемы «Общий доступ к файлам»

Для выполнения резервного копирования подсистемы «Общий доступ к файлам» необходимо перейти на рабочую станцию, которая выполняет функцию сервера общего доступа по сети и выполнить скрипт:

# !/usr/bin/env bash
# Название директории для резервной копии формируется
# из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Ограничение прав доступа к каталогу с резервными копиями
chown root:root $BACKUP_PATH && chmod 700 $BACKUP_PATH
# Остановка затрагиваемых бэкапом сервисов
systemctl stop aldpro-salt-minion
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# Архивирование директории /opt/samba_shares/
tar -zcvf $BACKUP_PATH/samba.tar.gz /opt/samba_shares/
# Запуск затрагиваемых бэкапом сервисов
systemctl start aldpro-salt-minion

Восстановление

  • Раздел состоит из перечня скриптов восстановления каждой подсистемы (сервера).

  • Требования к последовательности запуска скриптов восстановления отсутствуют.

  • Допустимо выборочное восстановление подсистем (серверов).

  • Восстанавливать КД из резервной копии рекомендуется только в случае отсутствия реплик.

  • Для восстановления первого КД рекомендуется прибегнуть к инструкции Удаление первого контроллера домена.

  • В случае сбоя оборудования на одном из КД, рекомендуется прибегнуть к Руководство Администратора. Часть 1 раздел Установка резервного контроллера домена.

  • При восстановлении КД на новом оборудовании, необходимо пересоздавать двусторонние доверительные отношения.

  • Восстановление желательно производить на том же оборудовании с которого сделана резервная копия.

  • Восстановление скриптом на том же оборудовании желательно проводить без установленного пакета fly, если пакет установлен, необходимо исключить восстановление каталога /etc.

  • После восстановления, в индивидуальных случаях может понадобиться назначение прав с помощью команды chown.

Список важных директорий /etc для полноценного восстановления функциональности контроллера домена состоит из следующих каталогов и файлов:

  • /etc/sssd — параметры локального кэша, схемы домена и методы NSS / PAM интеграции;

  • /etc/ldap — настройки LDAP-клиента и параметры взаимодействия с FreeIPA / Directory Server;

  • /etc/dirsrv — конфигурация Directory Server;

  • /etc/aldpro — параметры ALD Pro;

  • /etc/aldpro-salt — конфигурация salt-minion;

  • /etc/pam.d — обработчики авторизации, правила входа в систему;

  • /etc/systemd — юниты ALD Pro, LDAP, Kerberos и вспомогательных служб;

  • /etc/bindDNS-настройки, зоны, ключи;

  • /etc/apache2 — конфигурации веб-интерфейса, SSL, прокси-настройки ALD Pro и FreeIPA;

  • /etc/krb5* **— критические файлы и директории **Kerberos;

  • /etc/samba — параметры smbd.

Директории, восстановление которых необязательно:

  • /opt/rbta — данный каталог автоматически разворачивается при установке и настройке КД;

  • /var/log — бэкапировать полезно (для расследования инцидентов, аудита и диагностики), однако, для восстановления работоспособности КД не требуется.

Действия после восстановления конфигураций:

После копирования необходимых директорий из резервной копии и перезагрузки необходимо на КД получить билет kerberos и обновить сертификаты freeipa. Для этого нужно войти под учетной записью администратора с правами root:

kinit admin
ipa-certupdate

Мандатные метки переносить вручную не требуется. Система корректно восстанавливает их из присвоенной файловой структуры при копировании.

Дополнительные действия по восстановлению Глобального Каталога и Модуля Синхронизации не требуются. При наличии перечисленных директорий компоненты восстанавливаются и работают штатно.

Внимание

Все подсистемы устанавливаются только на клиентские компьютеры. Запрещено устанавливать две подсистемы на один компьютер. Версия ОС и установленных пакетов должна быть идентична версии ОС, на которой работала подсистема.

При восстановлении данных через RuBackup на одном из контроллеров домена выполняется авторитативное восстановление. В этом случае восстанавливаемый контроллер домена получает новое значение генератора CSN и прекращает участие в репликации. Чтобы завершить восстановление домена, необходимо выполнить реинициализацию остальных контроллеров. Используйте команду:

ipa-replica-manage re-initialize --from <имя_восстановленного_контроллера>

После реинициализации все контроллеры скопируют базу данных с восстановленного контроллера, включая новое значение генератора CSN, поэтому репликация в домене восстановится.

Внимание

Все изменения, внесённые в домен после создания резервной копии, будут утеряны.

Восстановление контроллера домена

Для восстановления контроллера домена с использованием резервной копии небходимо соблюдение следующих условий:

  • Имя и адрес компьютера, на котором будет производиться восстановление КД, должно совпадать с именем и адресом компьютера, с которого была сделана резервная копия.

  • Версия ОС и версия обновления ОС на компьютере, на котором будет восстановлен КД, должны быть идентичны тем, что были установлены на компьютере, с которого сделана резервная копия.

Возможные причины восстановления КД:

  • В домене только один рабочий КД, на котором необходимо откатить данные на момент создания резервной копии. В таком случае, нужно воспользоваться скриптом для восстановления ниже. Не рекомендуется в ALD Pro!

  • В домене один из КД (реплика) вышел из строя. КД расположен удаленно, реплика выполняется по расписанию и/или возник обрыв связи с другими КД на неопределенный срок. Это сценарий частного случая восстановления в котором рассмотрим восстановление на другом оборудовании, в соответствии с выполненными условиями выше.

При восстановлении необходимо исключить конфигурационный файл fstab в директории /etc с помощью ключа --exclude.

Так как домашние каталоги не резервируется, может понадобиться выдача прав на каталог администратора, а так же на другие каталоги:

Примеры команд:

chown -R admin:admins /home/admin
chown -R postgres:postgres /var/lib/postgresql/
chown postgres /var/log/postgresql/postgresql-11-main.log

Произвести инициализацию работающих КД с восстановленным при появлении связи.

Скрипт для восстановления КД:

# !/bin/bash
# Перейти в директорию с резервными копиями
cd /tmp/backup/{дата создания бэкапа}
# Разархивирование РК IPA
tar -C "/" -xvf ipa.tar.gz
# Восстановление IPA из РК
ipa-restore /var/lib/ipa/backup/ipa-full-YOUR_BACKUP_DATE
# Остановка затрагиваемых восстановлением сервисов
systemctl stop apache2 celery celerybeat rabbitmq-server postgresql aldpro-salt-minion
# Чистим кеш у sssd service
rm -f /var/lib/sss/db/*
# Восстановление БД Postgresql
tar -C "/" -xvf postgresql.tar.gz
# Восстановление RabbitMQ
tar -C "/" -xvf rabbitmq.tar.gz
# Восстановление логов
tar -C "/" -xvf log.tar.gz
# Восстановление директорий и файлов ALD Pro из архива etc
tar -xf etc.tar.gz
cp -rpf etc/sssd etc/ldap etc/dirsrv etc/aldpro etc/aldpro-salt etc/pam.d etc/systemd etc/bind etc/apache2 etc/krb5* etc/samba /etc/
# Восстановление директории samba
tar -C "/" -xvf samba.tar.gz
# Восстановление ipa-client
tar -C "/" -xvf ipa-client.tar.gz
# Перезагрузка
reboot
  • /tmp/backup - путь к месту хранения резервной копии, может быть изменен на усмотрение администратора.

При выполнении скрипта backup_dc.sh архивируется бэкап, имя которого необходимо впоследствии подставить в скрипт восстановления. Имя бэкапа хранится в архиве. Если имя не указать, возникнет ошибка, но при этом бэкап разархивируется в /var/lib/ipa/backup/, по этому пути также можно будет найти имя бэкапа и подставить в скрипт для повторного выполнения.

Команда для просмотра содержимого архива:

tar -ztvf /tmp/backup/{дата создания бэкапа}/ipa.tar.gz

Команда для переинициализации репликации:

ipa-replica-manage re-initialize --from dc-1.ald.company.lan

Восстановление подсистемы «Журналирование»

Восстановить подсистему необходимо, потому что:

  • Производились работы в конфигурационных файлах, после чего подсистема перестала работать. Для восстановления подсистемы необходимо воспользоваться скриптом ниже.

  • Сервер, на котором располагалась подсистема, вышел из строя и нет возможности восстановить его работу. Для восстановления подсистемы необходимо завести в домен сервер с именем и адресом, идентичными тем, что были у сервера, вышедшего из строя. С помощью команды aldpro-roles --uid --action install установить подсистему на новый сервер. Запустить команду для получения переменных конфигурации для подсистемы aldpro-salt-call aldpro_subsystems.build_audit_role_pillar. Запустить команду для генерации конфигурационных файлов из полученных переменных aldpro-salt-call state.apply roles.audit. Воспользоваться скриптом для восстановления ниже.

Скрипт для восстановления подсистемы «Журналирование»:

# !/bin/bash
# Переход в директорию с резервными копиями
cd /tmp/backup/
# Остановка затрагиваемых восстановлением сервисов
systemctl stop syslog-ng aldpro-salt-minion
# Восстановление логов
tar -C "/" -xvf log.tar.gz
# Перезагрузка
reboot

Восстановление подсистемы «Сервер Печати»

Восстановить подсистему необходимо, потому что:

  • Производились работы в конфигурационных файлах, после чего подсистема перестала работать. Для восстановления подсистемы необходимо воспользоваться скриптом ниже.

  • Сервер, на котором располагалась подсистема, вышел из строя и нет возможности восстановить его работу. Для восстановления подсистемы необходимо завести в домен сервер с именем и адресом, идентичными тем, что были у сервера, вышедшего из строя. С помощью команды aldpro-roles --uid --action install установить подсистему на новый сервер. Запустить команду для получения переменных конфигурации для подсистемы aldpro-salt-call aldpro_subsystems.build_cups_role_pillar. Запустить команду для генерации конфигурационных файлов из полученных переменных aldpro-salt-call state.apply roles.cups. Воспользоваться скриптом для восстановления ниже.

Скрипт для восстановления подсистемы «Сервер Печати»:

# !/bin/bash
# Переход в директорию с резервными копиями
cd /tmp/backup/
# Остановка затрагиваемых бэкапом сервисов
systemctl stop cups aldpro-salt-minion
# Восстановление логов
tar -C "/" -xvf log.tar.gz
# Восстановление директории etc
tar -C "/" -xvf etc.tar.gz
# Восстановление ipa-client
tar -C "/" -xvf ipa-client.tar.gz
# Перезагрузка
reboot

Внимание

При восстановлении указанным способом информация в LDAP и на сервере может отличаться. Чтобы избежать этого, после восстановления системы необходимо выполнить команду:

aldpro-roles --subsystem_settings cups

Восстановление подсистемы «Динамическая настройка узла DHCP»

Восстановить подсистему необходимо, потому что:

  • Производились работы в конфигурационных файлах, после чего подсистема перестала работать. Для восстановления подсистемы необходимо воспользоваться скриптом ниже.

  • Сервер, на котором располагалась подсистема, вышел из строя и нет возможности восстановить его работу. Для восстановления подсистемы необходимо завести в домен сервер с именем и адресом, идентичными тем, что были у сервера, вышедшего из строя. С помощью команды aldpro-roles --uid --action install установить подсистему на новый сервер. Запустить команду для получения переменных конфигурации для подсистемы aldpro-salt-call aldpro_subsystems.build_dhcp_role_pillar. Запустить команду для генерации конфигурационных файлов из полученных переменных aldpro-salt-call state.apply roles.dhcp. Воспользоваться скриптом для восстановления ниже.

Скрипт для восстановления подсистемы «Динамическая настройка узла DHCP»:

# !/bin/bash
# Перейти в директорию с резервными копиями
cd /tmp/backup/
# Остановка затрагиваемых восстановлением сервисов
systemctl stop isc-dhcp-server aldpro-salt-minion
# Восстановление логов
tar -C "/" -xvf log.tar.gz
# Восстановление директории  etc
tar -C "/" -xvf etc.tar.gz
# Восстановление  ipa-client
tar -C "/" -xvf ipa-client.tar.gz
# Перезагрузка
reboot

Внимание

При восстановлении указанным способом информация в LDAP и на сервере может отличаться. Чтобы избежать этого, после восстановления системы необходимо выполнить команду:

aldpro-roles --subsystem_settings dhcp

Восстановление подсистемы «Сервер Мониторинга»

Восстановить подсистему необходимо, потому что:

  • Производились какие-то работы, после чего подсистема перестала работать. Для восстановления подсистемы необходимо воспользоваться скриптом ниже.

  • Сервер, на котором располагалась подсистема, вышел из строя и нет возможности восстановить его работу. Для восстановления подсистемы необходимо завести в домен сервер с именем и адресом, идентичными тем, что были у сервера, вышедшего из строя. С помощью команды aldpro-roles --uid --action install установить подсистему на новый сервер. Воспользоваться скриптом для восстановления ниже.

Скрипт для восстановления подсистемы «Сервер Мониторинга»:

# !/bin/bash
# Перейти в директорию с резервными копиями
cd /tmp/backup/
# Остановка затрагиваемых бэкапом сервисов
systemctl stop apache2 zabbix-agent zabbix-server postgresql aldpro-salt-minion
# Восстановление БД PostgreSQL
tar -C "/" -xvf postgresql.tar.gz
# Восстановление логов
tar -C "/" -xvf log.tar.gz
# Восстановление директории zabbix
tar -C "/" -xvf zabbix.tar.gz
# Перезагрузка
reboot
  • Пароль для восстановления базы данных - postgres.

Восстановление подсистемы «Установка ОС по сети TFTP + PXE»

Восстановить подсистему необходимо, потому что:

  • Производились работы в конфигурационных файлах, после чего подсистема перестала работать. Для восстановления подсистемы «Установка ОС по сети TFTP + PXE» необходимо воспользоваться скриптом:

# !/bin/bash
# Переход в директорию с резервными копиями
cd /tmp/backup
# Остановка затрагиваемых восстановлением сервисов
systemctl stop apache2 tftpd-hpa postgresql aldpro-salt-minion
# Восстановление БД PostgreSQL
tar -C "/" -xvf postgresql.tar.gz
# Восстановление логов
tar -C "/" -xvf log.tar.gz
# Восстановление директории etc
tar -C "/" -xvf etc.tar.gz
# Восстановление ipa-client
tar -C "/" -xvf ipa-client.tar.gz
# Восстановление директории tftp
tar -C "/" -xvf tftp.tar.gz
# Перезагрузка
reboot
  • Сервер, на котором располагалась подсистема, вышел из строя и нет возможности восстановить его работу. Для восстановления подсистемы необходимо завести в домен сервер с именем и адресом, идентичными тем, что были у сервера, вышедшего из строя. С помощью команды aldpro-roles --uid --action install установить подсистему на новый сервер. Воспользоваться скриптом для восстановления подсистемы «Установка ОС по сети TFTP + PXE»:

# !/bin/bash
# Переход в директорию с резервными копиями
cd /tmp/backup
# Остановка затрагиваемых восстановлением сервисов
systemctl stop apache2 tftpd-hpa postgresql aldpro-salt-minion
# Восстановление БД PostgreSQL
tar -C "/" -xvf postgresql.tar.gz
# Восстановление логов
tar -C "/" -xvf log.tar.gz
# Восстановление директории tftp
tar -C "/" -xvf tftp.tar.gz
# Перезагрузка
reboot

Внимание

При восстановлении указанным способом информация в LDAP и на сервере может отличаться. Чтобы избежать этого, после восстановления системы необходимо выполнить команду:

aldpro-roles --subsystem_settings os

Восстановление подсистемы «Сетевой Репозиторий»

Восстановить подсистему необходимо, потому что:

  • Производились работы с конфигурационным файлом, после чего подсистема перестала работать. Для восстановления подсистемы «Сетевой Репозиторий» необходимо воспользоваться скриптом:

# !/bin/bash
# Переход в директорию с резервными копиями
cd /tmp/backup
# Остановка затрагиваемых восстановлением сервисов
systemctl stop apache2 postgresql rabbitmq-server aldpro-salt-minion
# Восстановление БД PostgreSQL
tar -C "/" -xvf postgresql.tar.gz
# Восстановление RabbitMQ
tar -C "/" -xvf rabbitmq.tar.gz
# Восстановление логов
tar -C "/" -xvf log.tar.gz
# Восстановление директории etc
tar -C "/" -xvf etc.tar.gz
# Восстановление ipa-client
tar -C "/" -xvf ipa-client.tar.gz
# Восстановление директории с репозиториями
t ar -C "/" -xvf storage.tar.gz
# Перезагрузка
reboot
  • Сервер, на котором располагалась подсистема, вышел из строя и нет возможности восстановить его работу. Для восстановления подсистемы необходимо завести в домен сервер с именем и адресом, идентичными тем, что были у сервера, вышедшего из строя. С помощью команды aldpro-roles --uid --action install установить подсистему на новый сервер. Запустить команду для получения переменных конфигурации для подсистемы aldpro-salt-call aldpro_subsystems.build_repo_role_pillar. Запустить команду для генерации конфигурационных файлов из полученных переменных aldpro-salt-call state.apply roles.repo. Воспользоваться скриптом для восстановления ниже.

Скрипт для восстановления подсистемы «Сетевой Репозиторий»:

# !/bin/bash
# Переход в директорию с резервными копиями
cd /tmp/backup
# Остановка затрагиваемых восстановлением сервисов
systemctl stop apache2 postgresql rabbitmq-server aldpro-salt-minion
# Восстановление БД PostgreSQL
tar -C "/" -xvf postgresql.tar.gz
# Восстановление RabbitMQ
tar -C "/" -xvf rabbitmq.tar.gz
# Восстановление директории с репозиториями
tar -C "/" -xvf storage.tar.gz
# Восстановление логов
tar -C "/" -xvf log.tar.gz
# Перезагрузка
reboot

Восстановление подсистемы «Общий доступ к файлам»

Восстановить подсистему необходимо, потому что:

  • Производились работы в конфигурационных файлах, после чего подсистема перестала работать. Для восстановления подсистемы «Общий доступ к файлам» необходимо воспользоваться скриптом:

# !/bin/bash
# Переход в директорию с резервными копиями
cd /tmp/backup
# Остановка затрагиваемых восстановлением сервисов
systemctl stop smbd nmbd aldpro-salt-minion
# Восстановление логов
tar -C "/" -xvf log.tar.gz
# Восстановление директории etc
tar -C "/" -xvf etc.tar.gz
# Восстановление ipa-client
tar -C "/" -xvf ipa-client.tar.gz
# Восстановление общих директорий samba
tar -C "/" -xvf samba.tar.gz
# Перезагрузка
reboot
  • Сервер, на котором располагалась подсистема, вышел из строя и нет возможности восстановить его работу. Для восстановления подсистемы необходимо завести в домен сервер с именем и адресом, идентичными тем, что были у сервера, вышедшего из строя. С помощью команды aldpro-roles --uid --action install установить подсистему на новый сервер. Запустить команду для получения переменных конфигурации для подсистемы aldpro-salt-call aldpro_subsystems.build_smb_role_pillar. Запустить команду для генерации конфигурационных файлов из полученных переменных aldpro-salt-call state.apply roles.smb. Воспользоваться скриптом для восстановления ниже.

Скрипт для восстановления подсистемы «Общий доступ к файлам»:

# !/bin/bash
# Переход в директорию с резервными копиями
cd /tmp/backup
# Остановка затрагиваемых восстановлением сервисов
systemctl stop smbd nmbd aldpro-salt-minion
# Восстановление общих директорий samba
tar -C "/" -xvf samba.tar.gz
# Восстановление логов
tar -C "/" -xvf log.tar.gz
# Перезагрузка
reboot

Внимание

При восстановлении указанным способом информация в LDAP и на сервере может отличаться. Чтобы избежать этого, после восстановления системы необходимо выполнить команду:

aldpro-roles --subsystem_settings smb

Особенности интеграции с RuBackup

При копировании и восстановлении данных с помощью rubackup-client или непосредственно утилитами ipa-backup/ipa-restore из-за перезапуска Служб Каталога на контроллерах перестает работать WEB-сервис apache2, обеспечивающий доступ к консоли управления ALD Pro.

Для восстановления доступа к консоли управления ALD Pro нужно запустить сервис apache2.

При восстановлении данных из rubackup manager необходимо установить ползунок Восстановить на целевом ресурсе. Без этой опции восстановление данных каталога выполнено не будет.

../../../_images/Vosstanovit%60_na_resurse.png